package com.sls.game.dao;

import java.util.List;

import com.sls.game.page.Pagination;
import com.sls.game.pojo.SpecialPriceSystemInfo;
import com.sls.game.querybean.SpecialPriceSystemQuery;

/**
 * 
 * @description 特殊价格体系DAO
 * @author Wangxuegang
 * @date 2012-10-12
 * 
 */
public interface SpecialPriceSystemDAO {

	/**
	 * 根据商品编号和价格模版编号，查询特殊价格体系表中，该商品的价格
	 * 
	 * @param info
	 * @return
	 */
	public SpecialPriceSystemInfo queryOneRecord(SpecialPriceSystemInfo info);

	/**
	 * 新增特殊价格体系
	 * 
	 * @param specialPriceSystemInfo
	 */
	public void insert(SpecialPriceSystemInfo specialPriceSystemInfo);

	/**
	 * 修改特殊价格体系
	 * 
	 * @param specialPriceSystemInfo
	 */
	public void update(SpecialPriceSystemInfo specialPriceSystemInfo);

	/**
	 * 根据模板编号修改模板名称
	 * 
	 * @param specialPriceSystemInfo
	 */
	public void updateTemplateName(SpecialPriceSystemInfo specialPriceSystemInfo);

	/**
	 * 删除特殊价格体系
	 * 
	 * @param specialPriceSystemInfo
	 */
	public void delete(String id);

	/**
	 * 分页查询
	 * 
	 * @param specialPriceSystemQuery
	 * @return
	 */
	public Pagination<SpecialPriceSystemInfo> querySpecialPriceSystem(
			SpecialPriceSystemQuery specialPriceSystemQuery);

	/**
	 * 通过商品编号和模版编号作为唯一条件来查询价格信息
	 * 
	 * @param id
	 * @return
	 */
	public SpecialPriceSystemInfo queryPriceSystemByGoodsIdAndTemplateCode(
			SpecialPriceSystemInfo specialPriceSystemInfo);

	/**
	 * 通过商品编号查询价格信息
	 * 
	 * @param goodsId
	 * @return
	 */
	public List<SpecialPriceSystemInfo> queryPriceSystemsByGoodsId(
			String goodsId);

	/**
	 * 导出某一模板下的商品价格
	 * 
	 * @param templateName
	 * @return
	 */
	public List<SpecialPriceSystemInfo> queryExportSalePrice(
			SpecialPriceSystemInfo speInfo);

	/**
	 * 
	 * @return
	 */
	public List<SpecialPriceSystemInfo> queryTemplateInfo();

	public List<SpecialPriceSystemInfo> queryTemplateInfoByTemplateCode(
			String templateCode);

	public List<SpecialPriceSystemInfo> queryPriceTemplateInfoList();

	public void updateByGoodsId(SpecialPriceSystemInfo speInfo);

	public void updateByBrandId(SpecialPriceSystemInfo speInfo);
}
